package co.com.inventarios.logica;

import java.util.List;

import co.com.inventarios.modelo.Cataventa;
import co.com.inventarios.modelo.Linea;
import co.com.inventarios.modelo.Mngclase;
import co.com.inventarios.modelo.MngclaseWork;
import co.com.inventarios.persistencia.EntityManagerHelper;
import co.com.inventarios.persistencia.MngclaseDAO;
import co.com.inventarios.persistencia.QueryCataventaDAO;
import co.com.inventarios.persistencia.QueryLineaDAO;
import co.com.inventarios.persistencia.QueryMngclaseDAO;

public class MngclaseLogica implements IMngclaseLogica  {

	public Mngclase consultarRegMngclase(String valor) throws Exception {
		return new MngclaseDAO().findById(valor);
	}

	public MngclaseWork[] findMngclaseSelectedRow(List<Mngclase> lista)
			throws Exception {
		MngclaseWork doc;
		int max = lista.size();
		MngclaseWork[] arrayDoc = new MngclaseWork[max];
		if (lista != null) {
			for (int i = 0; i < max; i++) {
				doc = new MngclaseWork();
				doc.setMngclasew(lista.get(i));
				arrayDoc[i] = doc;
			}
		}
		return arrayDoc;
	}

	public List<Mngclase> findAll(String expresion) throws Exception {
		return new QueryMngclaseDAO().findBy_all(expresion);
	}

	public List<Mngclase> findByPropertyAll(String propiedad, String valor,String expresion)
			throws Exception {
		return new QueryMngclaseDAO().findByPropertyAll(propiedad, valor,expresion);
	}

	public void Eliminar_Mngclase(Mngclase reg) throws Exception {
		try {
			EntityManagerHelper.getEntityManager().getTransaction().begin();
			new MngclaseDAO().delete(reg);
			EntityManagerHelper.getEntityManager().getTransaction().commit();
		} catch (Exception ex) {
			ex.printStackTrace();
			EntityManagerHelper.getEntityManager().getTransaction().rollback();
		}

	}
	
	public void Guarda_Mngclase(Mngclase reg) throws Exception { 
		try {
			EntityManagerHelper.getEntityManager().getTransaction().begin();
			new MngclaseDAO().save(reg);
			EntityManagerHelper.getEntityManager().getTransaction().commit();
		} catch (Exception ex) {
			ex.printStackTrace();
			EntityManagerHelper.getEntityManager().getTransaction().rollback();
		}

	}
	
	public void Modifica_Mngclase(Mngclase reg) throws Exception {
		try {
			EntityManagerHelper.getEntityManager().getTransaction().begin();
			new MngclaseDAO().update(reg);
			EntityManagerHelper.getEntityManager().getTransaction().commit();
		} catch (Exception ex) {
			ex.printStackTrace();
			EntityManagerHelper.getEntityManager().getTransaction().rollback();
		}

	}
	
	public List<Mngclase> consultarfindByPropertyAll(String propiedad,
			String valor) throws Exception {
		return new QueryMngclaseDAO().findByPropertyAll(propiedad, valor);
	}
	
	public Mngclase findByPropertyActivo(String propiedad,
			String valor) throws Exception {
		return new QueryMngclaseDAO().findByPropertyActivo(propiedad, valor);
	}
	
	public List<Mngclase> findByPropertyActivoLista(String propiedad) throws Exception {
		return new QueryMngclaseDAO().findByPropertyActivoLista(propiedad);
	}
}
